const formatResponse = (req, res, next) => {
  // 保存原始的res.json方法
  const originalJson = res.json;

  // 重写res.json方法
  res.json = function(data) {
    // 如果是错误响应（状态码 >= 400），保持原有格式
    if (res.statusCode >= 400) {
      return originalJson.call(this, {
        code: res.statusCode,
        success: false,
        message: data.message || '请求失败'
      });
    }

    // 处理成功响应
    return originalJson.call(this, {
      code: 200,
      success: true,
      data: data
    });
  };

  next();
};

module.exports = formatResponse;